This invention relates in general to over-the-top (OTT) media delivery and more specifically to providing certain playback functionality referred to as “trick play” (fast forward, rewind, etc.) in HTTP adaptive video streams.
As content delivery models move away from streaming distribution over private networks to Web-based delivery of files over the public Internet, referred to as over-the-top (OTT) delivery, traditional streaming video paradigms must be modified to support new delivery protocols, e.g., HTTP Live Streaming. In legacy RTP-based streaming, content playback is controlled at a specialized video streaming server. Video content is delivered in a frame-based manner, and the client renders all frames as they are delivered from the video streaming server. Trick play is typically implemented by the video streaming server removing and reordering frames from the original video stream (possibly using a pre-generated trick play file) and presenting it as a normal stream to the client. In the case of HTTP adaptive bitrate protocols, the client typically requests content, in segments, from a commodity HTTP server. There is no video streaming server to manipulate the content stream. Segments are typically prefetched and played out in order. In many cases, particularly when delivering to mobile devices, bandwidth is limited and download of duplicate content for the purposes of trick play is undesirable.